package com.grandtech.insurance.common;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Created by yft on 2018/6/5.
 * 日期工具类
 */
public class DateUtil1 {
    public static final String DEFALT_ADTE_PATTERN="yyyy-MM-dd HH:mm:ss";
    public static void main(String[] args) throws ParseException {
        System.out.println(Datestring(new Date(),"yyyy-MM-dd HH:mm:ss"));
        System.out.println(Datestring(new Date(),"yyyy"));
        System.out.println(Datestring(new Date(),null));
    }
    private DateUtil1(){

    }
    //-----------------------------------------------------------------------
    /*  判断字符串为空为null或者为空字符串*/
    private static boolean isBlank(String str){
        return !hasLength(str);
    }
    /*
     * 判断字符串非空
     * 判断字符串不空，既不是引用为null，也不是空字符
     * */
    private static boolean hasLength(String str){//把这两个判断字符串为空的方法封装到一类里面，就可以通用了
//      if(str !=null && "".equals(str.replace(" ", "")) ){
//          return true;
//      }
//      return false;
        return str !=null && "".equals(str.replace(" ", ""));//去掉空格为空就返回true
    }
    //-----------------------------------------------------------------------
    //格式化操作：把Date类型-------------->String类型
    public static String Datestring(Date date){
        return Datestring(date,null);
    }
    //格式化操作：把Date类型-------------->String类型
    public static String Datestring(Date date,String pattern){
        SimpleDateFormat sdf=new SimpleDateFormat();
        if(isBlank(pattern)){
            pattern=DEFALT_ADTE_PATTERN;
        }
        sdf.applyPattern(pattern);
        return sdf.format(date);
    }
    //解析操作把类型String-------------->Date类型
    public static Date stringDate(String  date) throws ParseException{
        return stringDate(date,null);
    }
    //解析操作把类型String-------------->Date类型
    public static Date stringDate(String  date,String pattern) throws ParseException{
        SimpleDateFormat sdf=new SimpleDateFormat();
        if(isBlank(pattern)){
            pattern=DEFALT_ADTE_PATTERN;
        }
        return sdf.parse(date);
    }

}
